One of the primary benefits of using a Multi-Core Processor is increased Central Processing Unit (CPU) bandwidth that can be used for speeding up an application by having pieces of it running in parallel in multiple cores or bringing together disparate applications onto the same processor, thereby realizing SWaP (Size, Weight and Power) benefits. Contemporary multi-core processor architectures contain resources that are shared between cores, such as Last Level Cache, Memory Controller, I/O interfaces and, in some cases, the bus connecting these resources to the cores. Contention for these shared resources from multiple cores introduces latencies. These contention-related latencies have a negative impact on the execution times of threads that are scheduled for parallel execution on multiple cores. The interference from a thread running on one core on another thread running on a different core is commonly referred to as “Cross-Core Interference”.